Applicant's invention relates to a system providing supplementary services and transcoder control procedures for handling traffic between subscribers in a communication network. The invention more particularly relates to a system for providing call forwarding services to digital mobile subscribers in a digital cellular radiotelephone system.
A cellular radiotelephone system typically comprises a network of neighboring radio cells that together provide complete coverage of a geographic area to be serviced. Each cell has a base station (BS) that communicates with one or more mobile stations (MSs) through associated radio channels. A set of radio channels assigned to a given cell is different from the sets used in neighboring cells in order to avoid interference. Groups of BSs are controlled by respective mobile services switching centers (MSCs), each of which is equivalent to a local exchange in the public switched telephone network (PSTN). Thus, an MSC is responsible for handling tasks such as switching, routing, and charging calls and communications to and from the PSTN and other networks.
Well known cellular systems such as the Nordic Mobile Telephone (NMT) system; Total Access Communication System (TACS); Advanced Mobile Phone System (AMPS); American Digital Cellular (ADC) system; Global System for Mobile Communication (GSM); and Personal Digital Cellular (PDC) system (formerly called the Japanese Digital Cellular (JDC) system) have all adopted standardized techniques for providing basic and supplementary services to roaming subscribers. As used in this application, the term "basic service" refers to the ability of a communication network simply to establish a call and to those services, such as three-party calling, which are available to all subscribers without requiring individualized subscription. The term "supplementary services" refers to those capabilities, in mobile as well as fixed networks, that go beyond "basic" services and that require individual subscription before those services can be invoked.
Individual supplementary subscriber services may be divided into two types: those that modify or supplement the process of originating a call (referred to here as "A-subscriber services"); and those that modify or supplement the process of terminating a call (referred to here as "B-subscriber services"). A-subscriber services include, but are not limited to, barring of outgoing calls and private numbering plans. B-subscriber services may be broken down into those that are invoked unconditionally, i.e., regardless of the status of the called subscriber or the network, and those whose invocation depends on a particular status or condition being present at the subscriber or in the network. Unconditional B-subscriber services include, but are not limited to, barring of incoming calls and unconditional call forwarding. Conditional B-subscriber services include call forwarding on busy, call forwarding on no reply, call forwarding on congestion, and call waiting.
Various ones of the operations involved in providing basic and supplementary services are described in U.S. patent application Ser. No. 08/115,589 filed Sep. 3, 1993, by Lantto et al. for "Method and System for Providing Supplementary Services to a Mobile Station"; U.S. patent application Ser. No. 08/141,086 filed Oct. 26, 1993, by Lantto for "Receiving Subscriber Data from HLR in GSM MSC/VLR"; U.S. patent application Ser. No. 08/141,094 filed Oct. 26, 1993, by Lantto for "Method of Managing Supplementary Service Procedures in GSM/VLR towards HLR"; U.S. patent application Ser. No. 08/182,834 filed Jan. 19, 1994, by Widmark et al. for "Providing Individual Subscriber Services in a Cellular Mobile Communications Network"; and U.S. patent applicaticn Ser. No. 08/249,989 filed May 27, 1994, by Lantto et al. for "Method for Handling Calls to a Non-Registered Mobile Subscriber in a Mobile Telephone System".
To keep track of the MSs, a data base called a home location register (HLR) may be provided as a node in the mobile radio communication network. When a user (MS) subscribes to receive service from an operator, subscriber information such as the supplementary service(s) selected by the user is entered in that operator's HLR. Also, the HLR stores information about the location of the MS, including information identifying the MSC serving the MS's current location. This information is updated as the MS moves around by having the MS send location information to its HLR by means of an MSC. Thus, when an MS roams into a new MSC area, it registers with that MSC, which then requests data about the MS from the HLR and informs the HLR of the MSC area in which the MS is currently located.
The HLR typically plays a part in managing individual supplementary subscriber services in that, in addition to storing the current location of a roaming subscriber, the HLR may also store subscriber categories and call forwarding numbers (called "C-numbers"). The HLR updates subscriber category information and C-numbers in its memory when requested to do so by an authorized terminal. The HLR transmits selected parts of this information to an interrogating MSC on the occasion of registration of a roaming MS, and to a gateway MSC (GMSC) on the occasion of call to a MS, as explained in more detail below.
In a typical network, A-subscriber services and conditional B-subscriber services are provided by the MSC, based on the subscriber categories provided to the visitor MSC (VMSC) by the HLR at the time of registration. Unconditional B-subscriber services are invoked by the HLR because a call to a MS always means that the first MSC contacted (i.e., the GMSC) consults the HLR in order to learn the whereabouts of the subscriber. Thus, the HLR is in the best position to handle unconditional services such as sending to the GMSC the C-number to which the call is to be unconditionally forwarded.
In order to standardize communication between HLRs and MSCs, cellular radiotelephone systems have adopted the Mobile Application Part (MAP) and Translation Capabilities Application Part (TCAP) of the communications protocol known as CCITT Signaling System No. 7. Somewhat different variants of the MAP and TCAP protocols are used with the different cellular standards (GSM, ADC, PDC, etc.). The MAP provides the signalling procedures for communication between MSs. The network part of PDC is described in the standard Internode Specifications for Digital Mobile Communications Network, TTC JJ70.10, Ver. 3.2.
According to various exemplary embodiments of Applicant's invention, existing signalling channels of a radio communication system are used to transmit simple request messages related to a particular subscriber-initiated supplementary service that is desired by a mobile subscriber. The request signalling for such a service from the MS to the network, as well as the confirmation signalling from the network to the MS indicating whether or not this service request has been complied with, are transmitted over Layer 3. "Layer 3" is a term that defines where, and in which logical channels, a particular message is transmitted and received. Layer 3 is described, for example, in Recommendation Q.930 in CCITT's "Blue Book", Fascicle VI. 11, "Digital Subscriber Signalling System No. 1 (DSS 1), Network Layer, User Network Management".
A communication system may be considered as having at least three layers. Layer 1 is the physical layer, which defines the parameters of the physical communication channel, e.g., radio frequency spacing, carrier modulation characteristics, etc. Layer 2 defines the techniques necessary for the accurate transmission of information within the constraints of the physical channel (Layer 1), e.g., error correction and detection, etc. Layer 3 defines the procedures for transparent transfer of information over the Layer 2 data link layer.
The specific hardware implementations of radio communication systems are beyond the scope of the discussion here, but those skilled in the art will readily appreciate that this invention can be applied to any such system where signalling for supplementary services occurs between a mobile or portable station and a network. One example of a radio communication system is a cellular communication network in which an MSC is connected between a PSTN and one or more BSs that transmit and receive signals from the MSs. When a call is connected, communication takes place over a traffic channel, whereas the initial connection of a call and transfer of a call from one BS to another typically takes place over a control channel. The specification of such traffic and control channels can be according to the applicable standard for the system being implemented, e.g., GSM, ADC, PDC, etc. For those interested in an exemplary hardware configuration of such base and mobile stations, U.S. Pat. No. 5,119,397 to Dahlin et al. is incorporated here by reference.
As new supplementary services are developed, they can be quickly incorporated by use of a network definition known as Intelligent Network (IN). The idea of IN is to provide intelligent nodes (I-nodes) in the network that may be consulted by other nodes in the network and updated from other nodes. I-nodes are data processing equipment connected to other nodes only through data links for signaling; I-nodes do not have switched user connections for speech or for user data transfer. Consequently, they may be accessed via data links only from particular other nodes in the network, such as service switching points (SSPs) in the PSTN.
New services are introduced by adding new program modules in the I-nodes, each corresponding to an IN functional entity. For example, a services control point (SCP) is the node in the network where most of the service logic resides, and an SSP is the node that handles the switching functions necessary to enable the services invoked by the SCP. These nodes correspond to functional entities which have been defined by the IN standards presented in CCITT Recommendation Q.1218. A service data function (SDF) is also implemented in the SCP that stores the service data needed for the SCF. Communication between the SSF and the SCF (and between the SSP and the SCP) is carried out in accordance with a protocol called the Intelligent Network Application Part (INAP), which is also) part of CCITT No. 7.
IN solutions in the fixed network environment achieve rapid introduction of new services as a result of the functional division between the SCF and the SSF, in which the complete individual service logic resides in the SCF, and the SSF only performs generic switching functions (e.g., monitoring and reporting call events; setting up new legs; and disconnecting legs) under the direction of the SCF. The IN solution cannot also be applied to the cellular environment because of the conflict between the operation strategies of the SCF and the HLR, the SDF and the HLR, and the SSF and the MSC. The SCF performs the same functions as the HLR, but it uses a different implementation and different interfaces. The same may be said of the SDF and the HLR, as well as the SSF and the MSC.
For example, the SCF is meant to control all services in an intelligent network, but this arrangement is violated by the cellular standards that always require the HLR to contain the information necessary for invoking services such as unconditional call forwarding and barring of incoming calls. Similarly, the SDF serves as the subscriber data storage function in the intelligent network, but the HLR always stores subscriber data in a cellular network.
In a digital cellular phone network, speech is sent in digital form between terminals, e.g., from an originating digital MS to a phone in the PSTN or to another MS. An input analog speech signal at a digital MS is converted into digital form according to a speech coding algorithm that conforms to the applicable standard. The PDC system uses a speech coding algorithm that is a member of a class of speech coders known as code-excited linear predictive (CELP) coders, or vector-sum-excited linear predictive (VSELP) coders. A VSELP coder converts an analog speech signal into a digital speech signal, taking into account the expected frequency and amplitude distribution of the human voice. In this way, it is possible to compress a speech bandwidth of 3.1 kilohertz (kHz) into only 6.7 kilobits per second (kb/s), which is much less than the 64 kb/s that would be necessary if normal pulse code modulation (PCM) were used. On the other hand, such coded speech cannot be used by others without converting the coded signal into normal digital speech using a device called a transcoder, or codec.
Besides speech coding, many systems also use channel coding. For example, a PDC channel coder encodes the digital speech signal with redundant information according to block and convolutional codes for detecting and correcting transmission errors. The PDC channel coder takes VSELP digital speech having a rate of 6.7 Kb/s and converts it to a channel-coded signal having a rate of 11.2 Kb/s, which can be passed unrestricted through the network, e.g., from one MSC to another, over a 64-Kb/s channel. It will be appreciated that 11.2 Kb/s is full-rate transmission; half-rate transmission (5.6 Kb/s) of a channel coded signal derived from digital speech from a PSI-CELP speech coder can also be used.
In a call between two digital MSs, correct transcoder control procedures used to handle traffic are only obtained if the Integrated Services Digital Network User Parts (ISUP) and I-node map procedures are guaranteed end to end, i.e., if the call remains completely within the PDC network at all times. In such a case, both the originating and terminating subscribers are connected to an 11.2-Kb/s VSELP-speech-and channel-coded connection. Theoretically, it is possible to convert the 11.2-Kb/s speech-and channel-coded information up to a 64 Kb/s call at the originating MS, and then convert the information back again at the terminating MS. In practice, the speech quality is reduced, so it is necessary to synchronize both speech coders to one another and set them to a "codec-through connect" mode.
FIG. 1a depicts the transcoders in a "codec-through connect" mode. Reference characters A, B, and C represent 11.2-Kb/s VSELP-speech- and channel-coded calls. Reference characters D and F represent signalling connections from MS-A to MSC-A and from MS-B to MSC-B, respectively. Reference character E represents an ISUP signalling connection. Reference character G represents a MAP signalling connection.
FIG. 1b depicts a signalling diagram for a call between two digital MSs. Referring to FIG. 1b, the originating MSC receives a SETUP message from the calling MS and orders an analysis of the called party number. The transcoder will set to "speech" at the originating MSC regardless of whether or not a "Call to MS" result is obtained. This is important so that it is possible to hear any tones or announcements that occur and also handle the case when call forwarding occurs.
Within the ISUP, the messages contain additional information regarding the mobile specific data. An initial address message (IAM) contains a transmission medium requirement (TMR) or unrestricted digital information, as well as information representing transfer capability, including whether "speech" or "speech and data" can be transferred, whether the data is 11.2-Kb/s or VSELP coded, and whether the coding standard is the standard defined for the network. The IAM also contains call reference (CR) information, identifying the call in the originating MSC and the signalling point code (SPC) of the originating MSC, and network code (NC) information, identifying the originating network.
Upon reception of the IAM, the terminating MSC pages the called MS and allocates a CR. The terminating MSC returns its CR and SPC in an address complete message (ACM). The originating MSC receives the ACM and stores the CR value from the ACM. The SPC from the ACM is discarded, and the terminating MSC's SPC is obtained instead from a codec setup request (CODEC SET REQ) message that is sent to request the through-connection. At this point, the terminating MSC has sufficient information to initiate the MAP communication with the originating MSC, but the originating MSC does not have enough information to begin such a communication before receiving a message from the terminating MSC.
The terminating call proceeds as normal until the reception of a connect (CONN) message from the MS. At this point, call setup is halted while the transcoder control procedures are initiated. From an analysis of the received IAM and user service information, the terminating MSC recognizes that the call is coming from another digital MS and sets its transcoder to the "codec-through connect" mode. The terminating transcoder then begins to send speech and synchronization (SS) frames. Using the SPC, NC, and CR received in the IAM, the terminating MSC sends the MAP CODEC SET REQ message to request the originating transcoder to switch to "codec-through connect" mode. A timer TCodec, awaiting a codec set acknowledge (CODEC SET ACK) message, is started in the terminating MSC.
Upon reception of the CODEC SET REQ message in the originating MSC, the originating transcoder begins to send SS frames on the speech circuit. When this has been done, the originating MSC sends the CODEC SET ACK message back to the terminating MSC using the CR stored earlier and the SPC and NC received in the CODEC SET REQ message. Upon reception of the CODEC SET ACK message, call setup continues with the sending of an answer message (ANM). If the CODEC SET ACK message is not received before Tcodec expires, then the call is released by the terminating MSC. The MAP messages are sent directly between the terminating and originating MSCs using the SPCs, NCs, and CRs sent during the call setup phase.
In a standard PDC network as depicted in FIG. 2, an originating MSC, denoted as MSC-A, is in radio contact with an originating digital MS, denoted as MS-A, that includes a speech coder and a channel coder. A call originated by MS-A is set up from the MSC-A to a terminating MSC, denoted as MSC-B, through a link or connection 10; the MSC-B is in radio contact with a terminating digital MS, denoted as MS-B, that also includes a channel decoder and a speech decoder. The MSC-A uses a MAP interface to ask the HLR about the current location of the MS-B, and to receive that MS-B's roaming number, which the MSC-A uses to route the call to the MS-B through the connection 10 and the MSC-B. FIG. 2 shows the typical situation when call forwarding is not invoked by the MS-B, so the network operates in the "codec-through connect" mode and VSELP or CELP data passes through the connection 10, as Layer 1 data.
The predetermined information elements in the PDC-standard signaling messages do not fully accommodate transcoder control procedures and some supplementary services. For example, the transcoder control procedures specified for the PDC system are inadequate for the traffic case when a terminating MS has forwarded calls to another digital MS.
This situation is illustrated in FIG. 3. When a call-forwarding service is invoked in MSC-B, a logic device in the MSC-B causes it to read in its category store (which was updated from the HLR through a MAP interface when the MS-B roamed into the region served by the MSC-B) that MS-B has forwarded calls to a particular C-number given in the store. In response to this situation, the MSC-B routes the call to a forwarded-to digital MS-C having the C-number through a connection 12 and a forwarded-to MSC, denoted as MSC-C, thereby completing the supplementary service.
When such a call is forwarded, it is difficult for the forwarded-to exchange MSC-C to identify the originating exchange MSC-A and to identify the originating CR information. In order for a terminating MSC of a digital MS to address the originating MSC of another digital MS, not only the SPC but also the network identity of the originating MSC must be determined by the terminating MSC. In the current PDC standard's specification of the I-node, the terminating MSC derives the network identity of the originating MSC from the "charge area" information included in an IAM sent from the originating MSC to the terminating MSC. In particular, the network identity of the originating MSC is derived from the NC data and message area (MA) data in the IAM.
Nevertheless, in the traffic scenario illustrated in FIG. 3 the "Charge Area" information element of the IAM sent by the MSC-B cannot be used by the MSC-C to derive the network identity of the originating MSC-A because the forwarding leg is independent. Thus, the "Charge Area" information in the IAM sent by the MSC-B to the MSC-C relates to the forwarding subscriber MS-B, not the subscriber MS-A originating the call.
Moreover, as illustrated in FIGS. 3 and 4, when call forwarding is initiated, the codec setup request message to request speech and channel coding will not reach its final destination, MSC-A, since the SPC data in the IAM is used to address the MSC-A and the NC data in the IAM is used to address the MSC-B. The reason for this is the forwarding subscriber MS-B is charged for the forwarding leg of the call. Furthermore, since the forwarding MSC-B may belong to a network that is different from the network of the originating MSC-A, call forwarding may be impossible to handle with the transcoder control procedures of a single network.
The other above-mentioned problem for call forwarding is call referencing under the ISUP for communication between different exchanges and networks. According to the PDC standard and the current I-node specification in the ISUP, the terminating MSC-B sends an address complete message (ACM) to the originating MSC-A. The ACM message includes the SPC of the terminating MSC-B, as well as a CR allocated by the MSC-B. The parameters SPC and CR are used by the MSC-A when sending the codec setup acknowledge message to the MSC-B to confirm that the request for speech and channel coding has been received.
As illustrated in FIG. 5, if the subscriber MS-B forwards calls to another digital MS in contact with the MSC-C, the SPC and CR stored in the originating MSC-A will still be those of the (formerly) terminating MSC-B. Since the MSC-C is the terminating MSC of the forwarded call, the codec setup acknowledge message that is sent from the MSC-A to the MSC-C contains the CR of the MSC-B instead of the CR of the MSC-C. In other words, the CR of the codec setup request message does not correspond to the CR of the codec setup acknowledge message. Since no response will be received in the MSC-C with the CR allocated by the MSC-C, the timer started in the MSC-C to accommodate the call will elapse, the setup procedure will be unsuccessful, and the call will be released.
As shown in FIG. 3, VSELP or CELP data is decoded in the MSC-A and passes through connection 10, MSC-B, and connection 12 as ordinary PCM data. The MSC-C then re-codes the information using both speech and channel coding and passes the re-coded information to the MS-C. In CELP/VSELP coding, only analog speech signals must be provided to a speech coder, i.e., two coders should not be connected in tandem. Thus, the conventional PDC standard provides that the forwarding leg between the MSC-B and the MSC-C and MS-C is established as an independent call: the MSC-A decodes the speech data for transmission to the MSC-C, which re-codes it for transmission to the MS-C. To forward a call, the forwarding MSC changes the TMR to either "speech" or 3.1 kHz audio. When a call is forwarded, both subscribers will have a transcoder connected in "speech" mode which may lead to a loss in speech quality. The result of this extra decoding/coding is reduced speech quality because CELP/VSELP coding trades speech quality for lower bit rate.